# driving mode
uint8 COMPLETE_MANUAL = 0
uint8 COMPLETE_AUTO_DRIVE = 1
uint8 AUTO_STEER_ONLY = 2
uint8 AUTO_SPEED_ONLY = 3
uint8 EMERGENCY_MODE = 4
uint8 AUTO_BCM_ONLY = 5
uint8 DEFAULT_AUTO = 6

# error code
uint8 NO_ERROR = 0
uint8 CMD_NOT_IN_PERIOD = 1 
uint8 CHASSIS_ERROR = 2
uint8 MANUAL_INTERVENTION = 3
uint8 CHASSIS_CAN_NOT_IN_PERIOD = 4
uint8 UNKNOWN_ERROR = 5

# gear position
uint8 GEAR_REVERSE = 0
uint8 GEAR_NEUTRAL = 1
uint8 GEAR_DRIVE = 2
uint8 GEAR_PARKING = 3
uint8 GEAR_LOW = 4
uint8 GEAR_INVALID = 5
uint8 GEAR_NONE = 6

#control mode
uint8 MANUAL = 0
uint8 AUTO = 1
uint8 HAND_REMOTE = 2
uint8 NET_REMOTE = 3
uint8 FAULT_WAIT = 4

std_msgs/Header header
float32 speed_mps
WheelSpeed wheel_speed
float32 steering_percentage
float32 steering_torque_nm
uint8 error_code
uint8 gear_location
StateInfo state_info
SensorInfo sensor_info
BattarySwapInfo battary_swap_info
DeviceStatus vcu_status
DeviceStatus transmission_status
DeviceStatus can_com_status
DeviceStatus motor_status
DeviceStatus adjunct_status
DeviceStatus battery_status
DeviceStatus brake_status
Ultrasonic ultrasonic
